# 给app添加一个过滤器
import functools

from flask import session, current_app, g

from info.models import User


def do_index_class(index):
    # 根据索引返回对应的类选择器

    if index==1:
        return 'first'
    elif index==2:
        return 'second'
    elif index==3:
        return 'third'

    # 如果不是前三个,返回空
    return ''


# def query_user_data():
#     # 查询用户是否登录
#     user_id = session.get('user_id', None)
#     user = None
#     if user_id:
#         # 如果用户已经登录,查询用户的模型
#         try:
#             user = User.query.get(user_id)
#         except Exception as r:
#             current_app.logger.error(r)
#     return user


# 这里换一种方式,使用装饰器+g对象的方式抽取
def user_login_data(f):
    @functools.wraps(f)
    def wrapper(*args,**kwargs):
        user_id = session.get('user_id', None)
        user = None
        if user_id:
            # 如果用户已经登录,查询用户的模型
            try:
                user = User.query.get(user_id)
            except Exception as r:
                current_app.logger.error(r)
        g.user=user
        return f(*args,**kwargs)
    return wrapper